package com.lbs.jiepiaisi.parser;

import com.lbs.jiepiaisi.bean.EquipmentEntity;
import com.lbs.jiepiaisi.utils.Constant;

import org.json.JSONArray;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * 时间：2017/9/5 16:12
 * 作用：搜索解析类（搜索车主、车架号、合同号）
 */

public class AccountSearchParser {
    //解析方法
    public static EquipmentEntity parser(String jsonString, String str){
        EquipmentEntity equipmentEntity=new EquipmentEntity();
        EquipmentEntity.Result result=new EquipmentEntity.Result();
        List<EquipmentEntity.Result.Item> listItems=new ArrayList<EquipmentEntity.Result.Item>();
        try{
            JSONObject jsonObject=new JSONObject(jsonString);
            if(jsonObject.getInt("status") != 0){
                return null;
            }
            JSONArray jsonArrayResult=jsonObject.getJSONArray("result");
            /**
             * 设置设备总数
             */
            equipmentEntity.setCode(Constant.STATUS_OK);
            result.setCount(jsonArrayResult.getJSONObject(0).getInt("count"));
            JSONArray JsonArrayItems=jsonArrayResult.getJSONObject(0).getJSONArray("items");
            //设置实体类数据对象的items信息
            for(int i=0;i<JsonArrayItems.length();i++){
                EquipmentEntity.Result.Item item=new EquipmentEntity.Result.Item();
                EquipmentEntity.Result.Item.Point point=new EquipmentEntity.Result.Item.Point();
                try{
                    /**
                     * 设置车主姓名
                     */
                    item.setOwnerName(JsonArrayItems.getJSONObject(i).getString("ownerName"));

                }catch (Exception e){
                    /**
                     * 设置车主姓名
                     */
                    item.setOwnerName("未命名");

                    e.printStackTrace();
                }
                try{
                    /**
                     * 设置设备编号
                     */
                    item.setEqNo(JsonArrayItems.getJSONObject(i).getString("eqNo"));
                }catch (Exception e){
                    /**
                     * 设置设备编号
                     */
                    item.setEqNo(null);
                    e.printStackTrace();
                }
                try{
                    /**
                     * 设置坐标点
                     */
                    point.setLat(JsonArrayItems.getJSONObject(i).getJSONObject("point").getDouble("lat"));
                    point.setLng(JsonArrayItems.getJSONObject(i).getJSONObject("point").getDouble("lng"));
                    item.setPoint(point);
                }catch (Exception e){
                    /**
                     * 设置坐标点
                     */
                    item.setPoint(null);
                    e.printStackTrace();
                }

                try{
                    /**
                     * 设置车牌号
                     */
                    item.setPlateNum(JsonArrayItems.getJSONObject(i).getString("plateNum"));
                }catch (Exception e){
                    /**
                     * 设置车牌号
                     */
                    item.setPlateNum(null);
                    e.printStackTrace();
                }
                try{
                    /**
                     * 设置合同号
                     */
                    item.setContractNo(JsonArrayItems.getJSONObject(i).getString("contractNo"));
                }catch (Exception e){
                    /**
                     * 设置合同号
                     */
                    item.setContractNo(null);
                    e.printStackTrace();
                }

                //设置显示搜索到的内容
                //判断当前姓名是否包含该输入的字符串
                if(JsonArrayItems.getJSONObject(i).getString("ownerName").contains(str)){
                    item.setGiveValue(JsonArrayItems.getJSONObject(i).getString("ownerName")+"（姓名）");
                //判断当前设备编号是否包含该输入的字符串
                }else if(JsonArrayItems.getJSONObject(i).getString("eqNo").contains(str)){
                    item.setGiveValue(JsonArrayItems.getJSONObject(i).getString("eqNo")+"（设备编号）");
                //判断当前车牌号是否包含该输入的字符串
                }else if(JsonArrayItems.getJSONObject(i).getString("plateNum").contains(str)){
                    item.setGiveValue(JsonArrayItems.getJSONObject(i).getString("plateNum")+"（车牌号）");
                //判断当前合同号是否包含该输入的字符串
                }else if (JsonArrayItems.getJSONObject(i).getString("contractNo").contains(str)){
                    item.setGiveValue(JsonArrayItems.getJSONObject(i).getString("contractNo")+"（合同号）");
                }
                item.setDeptId(JsonArrayItems.getJSONObject(i).getString("egId"));
                listItems.add(0,item);

            }
        }catch (Exception e){
            /**
             * 设置设备总数
             */
            result.setCount(0);
            e.printStackTrace();
        }
        result.setItems(listItems);
        equipmentEntity.setResult(result);

        return equipmentEntity;
    }
}
